A A500 JAVASCRIPT HARDWARE LAB ORIGINAL CORE · v0.3.1

A MACHINE, BUILT FROM THE BITS UP.

Amiga 500.
Control Deck.

Boot Kickstart, mount disks and probe the chipset from a cabinet-styled console tuned around the original A500.

Chipset
OCS · Copper · blitter
CPU
68000 interpreter · expanded
Drives
DF0 live · DF1-DF3 standby
Host
Apache · static files only

A500 / MACHINE

Ready for test ROM

DF0

Active
No disk Insert ADF or load game

Insert an 880 KiB ADF or load a game.

No disk selected.
MC68000 → CHIP RAM → BITPLANES

Bring the machine online.

Load Kickstart, mount a floppy and resume execution to hand control to the emulated chipset.

Test bench

Bench tools live below the machine: diagnostics, single-step execution and trace export stay out of the primary boot path.

CPU inspector



                    

The last 64 instructions are retained. Unsupported instructions stop execution and report their address.

01 / ORIGINAL CODE

Our own machine.

No emulation library, WebAssembly core, or framework. The CPU, memory bus, CIA timers, blitter, disk drive, audio and test ROM are readable JavaScript modules.

02 / REAL INSTRUCTIONS

A hardware test.

The test ROM disables the ROM overlay, fills chip RAM with 68000 instructions and programs OCS palette and bitplane registers.

03 / REAL HARDWARE PATHS

More of the machine.

CIA interrupts, area blits, read-only floppy DMA and four-channel audio are connected. Capture the screen for mouse input, then drive the machine from the top control deck.

Supported features and remaining compatibility work

Expanded 68000 interpreter: MOVEM, shifts/rotates, multiply/divide, bit operations, BCD, traps, supervisor/user stacks and interrupt entry/return. CPU timings remain approximate. Address/bus-error frames, prefetch and complete independent instruction validation remain outstanding.

Hardware: CIA timers/interrupts and keyboard serial handshake, area blitter, Copper MOVE/WAIT/SKIP, planar low/high resolution, HAM6, dual playfields, basic sprites, read-only DF0 MFM DMA, mouse/joystick registers and four-channel audio DMA. Timing and display priority are approximate.

Not implemented: interlace, cycle-accurate DMA contention, protected disk formats, disk writes, complete CIA serial timing and Paula modulation/filtering. Kickstart 1.3 and the supplied Robin Hood disk have been exercised through game loading, credits and the opening castle scene. Other software and full gameplay remain unverified. The included test ROM and regression tests are the confirmed targets.

Load your raw unencrypted 256K or 512K ROM (byte-swapped dumps are detected), insert an ADF and press Resume to try it. If execution stops, Export trace captures the fault context for debugging. Files stay in browser memory; reset preserves the inserted read-only disk and reload discards everything.